#ifndef Object3D_h
#define Object3D_h

#include "Vector.h"
#include "Matrix.h"

class Object3D
{
public:

    Vector position;
    Vector rotation;
    Vector scale;
	Matrix transformMatrix;
	int typeObject;   
	bool alive;    

    // Create the object 
    Object3D();
    
    // delete the object
    virtual ~Object3D();
    
    // Get the transformation
    virtual Matrix* GetTransform();

	//Set position
	virtual void SetPosition(float x, float y, float z);
	
	//Set scale
	virtual void SetScale(float x, float y, float z);

	//Set rotation
	virtual void SetRotation(float x, float y, float z);

    // This is abstract function.
    virtual void Render() = 0;	
    
};

#endif
